type JSDynamicObject = any;
var __hash__map ! : JSDynamicObject;
var __arr ! : string;
__hash__map = {
    a : {
        aa : 1,
        ab : 2,
        ac : 3,
        ad : 4
    },
    b : {
        ba : 1,
        bb : 2,
        bc : 3,
        bd : 4
    },
    c : {
        ca : 1,
        cb : 2,
        cc : 3,
        cd : 4
    },
    d : {
        da : 1,
        db : 2,
        dc : 3,
        dd : 4
    }
};
__arr = "";
for (var __key in __hash__map) {
    console.log ("key", __key);
    for (var __ind in __hash__map [__key]) {
        console.log ("ind", __ind);
        __arr += "" + __ind + __hash__map [__key] [__ind];
    }
}
if (! (Number (__arr.indexOf ("aa1") !== - 1) & Number (__arr.indexOf ("ab2") !== - 1) & Number (__arr.indexOf ("ac3") !== - 1) & Number (__arr.indexOf ("ad4") !== - 1) & Number (__arr.indexOf ("ba1") !== - 1) & Number (__arr.indexOf ("bb2") !== - 1) & Number (__arr.indexOf ("bc3") !== - 1) & Number (__arr.indexOf ("bd4") !== - 1) & Number (__arr.indexOf ("ca1") !== - 1) & Number (__arr.indexOf ("cb2") !== - 1) & Number (__arr.indexOf ("cc3") !== - 1) & Number (__arr.indexOf ("cd4") !== - 1) & Number (__arr.indexOf ("da1") !== - 1) & Number (__arr.indexOf ("db2") !== - 1) & Number (__arr.indexOf ("dc3") !== - 1) & Number (__arr.indexOf ("dd4") !== - 1))) throw new Error ('#1: The nested for-in Statement applied to hierarchial object works properly as described in the Standard');
